package com.yuanye.beans.controller;

import com.yuanye.beans.Service.ArtService;
import com.yuanye.model.UserInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;

import javax.annotation.Resource;

/**
 * @author Kiteye
 * @date 2023/7/10
 * @Description 文章的业务逻辑层，进行前端数据校验，校验成功执行后面的Service操作
 */
@Controller
public class ArtController {

    // 注入方式1：属性注入
//    @Autowired
//    private ArtService artService;

    // 注入方式 2：构造方法注入
//    private ArtService artService;
//    @Autowired // 构造方法有一个可以省略注解，有多个的时候不能省略注解
//    public ArtController (ArtService artService) {
//        this.artService = artService;
//    }

    private ArtService artService;

    // 注入方式3：Setter 方法注入，绝对不能省略 注解
    @Autowired
    public void setArtService(ArtService artService) {
        this.artService = artService;
    }

    @Autowired
    private ArtService artService2;
//    Autowired
//    private UserInfo userInfo;
// 这里会报错，因为 Spring 存储了多个相同的 UserInfo 对象，设置了多个参数

//    @Resource(name = "user1")
//    private UserInfo userInfo;

    @Autowired
    @Qualifier("user1")//@Qualifier(value = "user1")
    private UserInfo userInfo;

    public void addArt(String title, String content) {
        System.out.println(userInfo);

//        if (title != null && content != null &&
//                !title.equals("") && !content.equals("")) {
//            // 满足条件就 执行 Service
//            artService.addArt(title, content);
//        } else {
//            System.out.println("添加文章失败，前端传递了非法参数");
//        }
    }
}
